#!/usr/bin/env ts-node

/**
 * 数据库备份功能测试脚本
 * 用于验证备份服务是否正常工作
 */

import { BackupService } from '../src/services/backupService';
import { manualBackup } from '../src/jobs/backupJob';

async function testBackupService() {
  console.log('🧪 开始测试数据库备份功能...\n');

  try {
    // 1. 测试OSS连接
    console.log('1️⃣ 测试OSS连接...');
    const backupService = new BackupService();
    const ossConnected = await backupService.testOSSConnection();
    
    if (!ossConnected) {
      console.error('❌ OSS连接失败，请检查环境变量配置');
      process.exit(1);
    }

    // 2. 执行手动备份
    console.log('\n2️⃣ 执行手动备份...');
    await manualBackup();

    console.log('\n✅ 所有测试通过！备份功能正常工作。');
    console.log('\n📝 使用说明:');
    console.log('   - 定时任务会在每天凌晨3点自动执行');
    console.log('   - 备份文件存储在OSS的 database_backup/YYYY-MM-DD/ 目录下');
    console.log('   - 每个表的数据会保存为独立的JSON文件');
    console.log('   - 如需手动测试，可运行: npm run test-backup');

  } catch (error) {
    console.error('\n❌ 测试失败:', error);
    process.exit(1);
  }
}

// 运行测试
testBackupService();
